import request from '@/utils/request';

/**
 * 认证相关API接口
 */
export const authApi = {
  /**
   * 邮箱登录
   * @param {Object} data - 登录数据
   * @param {string} data.email - 邮箱地址
   * @param {string} data.password - 密码
   * @returns {Promise} 登录结果
   */
  loginByEmail(data) {
    return request.post('/app-api/member/auth/login-by-email', data);
  },

  /**
   * 刷新令牌
   * @param {string} refreshToken - 刷新令牌
   * @returns {Promise} 新的令牌信息
   */
  refreshToken(refreshToken) {
    return request.post('/app-api/member/auth/refresh-token', {
      refreshToken
    });
  },

  /**
   * 退出登录
   * @returns {Promise} 退出结果
   */
  logout() {
    return request.post('/app-api/member/auth/logout');
  },

  /**
   * 发送邮箱验证码
   * @param {Object} data - 验证码数据
   * @param {string} data.email - 邮箱地址
   * @param {number} data.type - 验证码类型 (0: 注册)
   * @returns {Promise} 发送结果
   */
  sendMailCode(data) {
    return request.post('/app-api/member/auth/send-mail-code', data);
  },

  /**
   * 邮箱注册
   * @param {Object} data - 注册数据
   * @param {string} data.email - 邮箱地址
   * @param {string} data.password - 密码
   * @param {string} data.nickname - 昵称
   * @param {string} data.code - 验证码
   * @returns {Promise} 注册结果
   */
  createByEmail(data) {
    return request.post('/app-api/member/auth/create-by-email', data);
  },

  /**
   * 获取用户实名认证状态
   * @returns {Promise} 用户实名认证信息
   */
  getUserAuthStatus() {
    return request.get('/app-api/member/user-auth/get');
  }
};

export default authApi;